import axios from 'axios';
// import {router} from "../router/index.ts"
// import qs from 'qs';
// import nprogress from 'nprogress';
<<<<<<< HEAD
import  Message  from '../pluging/Message/js/Message';
=======
// import  Message  from '../pluging/Message/js/Message';


>>>>>>> 28103c9f7cd4d66a5d85d23a8cdad95e1021b9b9


/*   
* Axios全局默认设置
* 1、根据环境配置不同的badeURl(先不配置)
* 2、超时时间
const baseUrl = "http://jacklv.cn:3001"
 */
// axios.defaults.baseURL = "http://localhost:4000/";
axios.defaults.baseURL = "http://47.120.14.63:8081";
axios.defaults.timeout = 5000;
// axios.defaults.withCredentials=true;

/*
 * 设置请求数据参数传递的格式，默认是json格式，但是在登录校验中后台一般设置请求格式：x-www-form-urlencoded(name=xxx,age=xxx)
 * 看服务器要求什么格式
 * qs是第三方库，转换为x-www-form-urlencoded
 * 
 */
// axios.defaults.headers['Content-Type']='application/x-www-form-urlencoded'
// axios.defaults.transformRequest=data=>qs.stringify(data)
/*
 * 请求拦截器，在发送请求之前做的操作
 */
// let router = useRouter()
// console.log(router);
// history.pushState(null, null, "bar.html");

const _axios = axios.create()
_axios.interceptors.request.use(config=>{
   
<<<<<<< HEAD
    const token = localStorage.getItem("token");
    config.headers["Content-Type"]="application/json"
    token && (config.headers.token=token);
    console.log(config);
=======
    const authorization = localStorage.getItem("authorization");
    // config.headers["Content-Type"]="application/json"
    authorization && (config.headers.authorization=authorization);
    // console.log(config);
>>>>>>> 28103c9f7cd4d66a5d85d23a8cdad95e1021b9b9
    return config  //返回配置
    },
error => { 
    // console.log(error); //错误处理
    return Promise.reject(error)
    }
)

/*
 *  相应拦截器
 */
_axios.interceptors.response.use(response=>{
<<<<<<< HEAD
    console.log(response);
    if (response.status == 200) {
        return response.data
    } else {
        Message({type: "warn", text: "登录失败"})
=======
    // console.log(response);
    if (response.data.code == 200) {
        return response
    } else {
        return new Error ("请求失败")
>>>>>>> 28103c9f7cd4d66a5d85d23a8cdad95e1021b9b9
    }
},error=>{
//    console.log(error);
    const {response} = error 

    //有数据的时候我们的操作
    if(response){
        switch(response.data.code){
            case 404:
                /* 响应状态404如果页面404我们怎么处理   一般做错误跳转 */
                // router.replace('/error404')
                break;
            case 401:
                // localStorage.clear()
                return Promise.reject(error)
        }
    } else {   //如果服务器没有数据，我们的操作
        if(!window.navigator.onLine){
            //断网处理：跳转到断网页面
            return
          }
          return Promise.reject(error)
    }
})


export default _axios


